On locales that support it, time formats should follow the 12-hour/24-hour
preference, which implies that they should be updated when the setting
changes. So add another utility method which creates a label for a specific
time and keeps it in sync with the format setting.
https://bugzilla.gnome.org/show_bug.cgi?id=745111
return date.format(Shell.util_translate_time_string(format));
}
+function createTimeLabel(date, params) {
+ if (_desktopSettings == null)
+ _desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface' });
+
+ let label = new St.Label({ text: formatTime(date, params) });
+ let id = _desktopSettings.connect('changed::clock-format', function() {
+ label.text = formatTime(date, params);
+ });
+ label.connect('destroy', function() {
+ _desktopSettings.disconnect(id);
+ });
+ return label;
+}
+
// lowerBound:
// @array: an array or array-like object, already sorted
// according to @cmp